JR.admin = function($){
	return {
		init: function(){
			JR.admin.clock.init();
			JR.admin.menu.init();
			JR.admin.logout.init();
			JR.admin.loadx.init();
		}
	};
}(jQuery);

JR.admin.clock = function($){
	return {
		init: function(){
			$('#clock').jclock({withDate:true, withWeek:true});
		}
	};
}(jQuery);

JR.admin.menu = function($){
	return {
		init : function(){
			this.menuContainer = $('#left #container');
			JR.ajax(JR.url2('menu.action'), this.initMenu);
		},
		initMenu : function(data){
			var types = data.types;
			for(var index=0; index < types.length; index++){
				JR.admin.menu.buildMenu(types[index]);
			}
		},
		buildMenu : function(container){
			var th = this;
			var menuItem = $('<div>').addClass('menu-item')
									.attr('id', 'menu-item-'+container.id)
									.appendTo(th.menuContainer);
			$('<a>').attr('href','#').text(container.name).appendTo(menuItem);
			menuItem.click(function(e){
				e.preventDefault();
				JR.admin.loadx.showList(container.id);
			});
		},
		active : function(id){
			$('.menu-active', this.menuContainer).removeClass('menu-active');
			$('#menu-item-'+id, this.menuContainer).addClass('menu-active');
		}
	};
}(jQuery);

JR.admin.logout = function($){
	
	return {
		init : function(){
			$('.logout').click(function(e){
				e.preventDefault();
				location.href = JR.url('logout');
			});
		}
	};
}(jQuery);

JR.admin.loadx = function($){

	var loadx = {
		init : function(){
			this.container = $('#right');
			this.url_list = JR.url2('container-list.action');
			this.url_view = JR.url2('container-view.action');
		},
		show : function(url, data){
			var th = this;
			th.container.empty();
			th.container.addClass('preload-right loading');
			th.container.loadx(url, data, function(){
				th.container.removeClass('preload-right loading');
			});
		},
		showList : function(id){
			JR.statics.setId(id);
			JR.admin.menu.active(id);
			this.show(this.url_list, {id: id});
		},
		showView : function(id){
			this.show(this.url_view, {id: id});
		}
	};
	
	return {
		init : function(){
			loadx.init();
		},
		show : function(url, data){
			loadx.show(url, data);
		},
		showList : function(id){
			loadx.showList(id);
		},
		showView : function(id){
			loadx.showView(id);
		}
	};
}(jQuery);

JR.container = {};

$(document).ready(function() {
	JR.admin.init();
	JR.uniform.init();
	$.blockUI.defaults.css.border = '3px solid #aaa';
	$.blockUI.defaults.css.padding = '10px';
});